home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
horse140.zip
/
HORSES.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-10-24
|
24KB
|
880 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer TINTEGER004(99)
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer TINTEGER012(99)
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer INTEGER023
Integer INTEGER024
Integer INTEGER025
Integer INTEGER026
Integer TINTEGER027(5)
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
Integer INTEGER031
Integer INTEGER032
Integer INTEGER033
Integer INTEGER034
Integer INTEGER035
Integer INTEGER036
Integer INTEGER037
Integer INTEGER038
Integer INTEGER039
Money MONEY001
Money MONEY002
Money MONEY003
Money MONEY004
Real TREAL001(5)
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String TSTRING007(5)
String TSTRING008(5)
String TSTRING009(5)
String TSTRING010(5)
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String TSTRING018(51,3)
String TSTRING019(51,3)
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String TSTRING025(3)
String TSTRING026(3)
String STRING027
;------------------------------------------------------------------------------
STRING005 = "v1.4"
STRING004 = "Horse Race"
STRING001 = STRING004
If (AnsiOn()) Goto LABEL001
PrintLn
PrintLn "Sorry, this game requires ANSI capability."
PrintLn
End
:LABEL001
If (MinLeft() < 5) Then
PrintLn
PrintLn "Sorry, not enough time remaining to play."
PrintLn
End
Endif
STRING012 = "@X06Ω"
MONEY001 = 100000
MONEY004 = 0
If (Exist(PPEPath() + PPEName() + ".key")) Then
FOpen 1, PPEPath() + PPEName() + ".KEY", 0, 0
FDefIn 1
For INTEGER002 = 1 To 3
FDGet TSTRING026(INTEGER002)
Next
FClose 1
FOpen 2, PPEPath() + PPEName() + ".KEY", 0, 0
FGet 2, STRING002
FGet 2, STRING003
FClose 2
STRING027 = TSTRING026(1) + TSTRING026(2)
STRING027 = Strip(STRING027, " ")
For INTEGER003 = 1 To Len(STRING027)
TINTEGER004(INTEGER003) = Asc(Mid(STRING027, INTEGER003, 1))
Next
INTEGER005 = 0
For INTEGER003 = 1 To 80
INTEGER005 = INTEGER005 + TINTEGER004(INTEGER003)
Next
INTEGER006 = INTEGER005 * 965
If (INTEGER006 <> TSTRING026(3)) Then
Goto LABEL002
Else
Else
Endif
:LABEL002
BOOLEAN001 = 0
If (Exist(PPEPath() + "UNI.KEY")) Goto LABEL003
Gosub LABEL029
Goto LABEL004
Endif
BOOLEAN001 = 1
Gosub LABEL029
Goto LABEL004
:LABEL003
FOpen 1, PPEPath() + "UNI.KEY", 0, 0
FDefIn 1
For INTEGER010 = 1 To 3
FDGet TSTRING025(INTEGER010)
Next
FClose 1
FOpen 2, PPEPath() + "UNI.KEY", 0, 0
FGet 2, STRING002
FGet 2, STRING003
FClose 2
STRING024 = TSTRING025(1) + TSTRING025(2)
STRING024 = Strip(STRING024, " ")
For INTEGER011 = 1 To Len(STRING024)
TINTEGER012(INTEGER011) = Asc(Mid(STRING024, INTEGER011, 1))
Next
INTEGER008 = 0
For INTEGER011 = 1 To 99
INTEGER008 = INTEGER008 + TINTEGER012(INTEGER011)
Next
INTEGER009 = INTEGER008 * 659
INTEGER007 = INTEGER009
BOOLEAN001 = 0
If (INTEGER009 <> TSTRING025(3)) Then
BOOLEAN001 = 0
Gosub LABEL029
Goto LABEL004
Else
BOOLEAN001 = 1
Gosub LABEL029
Endif
:LABEL004
GetToken STRING015
STRING015 = Upper(STRING015)
GetToken INTEGER036
If (!BOOLEAN001 || (INTEGER036 == 0)) INTEGER036 = 10
If (Exist(PPEPath() + "HORSES.NAM")) Goto LABEL005
PrintLn "@X0C"
PrintLn "Error in ", PPEName(), ".PPE setup. Please notify your SysOp!"
PrintLn
DefColor
Log PPEName() + ".PPE: HORSES.NAM file not found!", 0
End
:LABEL005
If (BOOLEAN001) Goto LABEL006
INTEGER039 = 10
Goto LABEL007
:LABEL006
INTEGER039 = 50
:LABEL007
GetUser
If ((STRING015 == "LOGPPE") || (STRING015 == "LOGBOTH")) Then
FAppend 1, PPEPath() + "HORSES.LOG", 2, 0
FPutLn 1, U_Name(), " At ", Time(), " On ", Date()
FPutLn 1, "----------------------------------------------"
FClose 1
Endif
If ((STRING015 == "LOGCALL") || (STRING015 == "LOGBOTH")) Then
Log "Entered " + PPEName() + ".PPE at " + Left(Time(), 5), 0
Endif
FOpen 1, PPEPath() + "HORSES.NAM", 0, 0
For INTEGER024 = 1 To 5
FGet 1, TSTRING007(INTEGER024)
TSTRING008(INTEGER024) = Left(TSTRING007(INTEGER024), 21)
TSTRING008(INTEGER024) = RTrim(TSTRING008(INTEGER024), " ")
TSTRING009(INTEGER024) = Mid(TSTRING007(INTEGER024), 23, 21)
TSTRING010(INTEGER024) = Mid(TSTRING007(INTEGER024), 46, 10)
TREAL001(INTEGER024) = Mid(TSTRING007(INTEGER024), 57, 4)
Next
FClose 1
KeyFlush
If (BOOLEAN001) Goto LABEL008
For INTEGER024 = 1 To 5
TSTRING009(INTEGER024) = "Unregistered Stables"
Next
:LABEL008
If (Exist(PPEPath() + "HORSES.DAT")) Goto LABEL009
FCreate 1, PPEPath() + "HORSES.DAT", 1, 3
STRING014 = 0
For INTEGER024 = 1 To 51
TSTRING018(INTEGER024, 1) = "NotUsed"
TSTRING018(INTEGER024, 2) = "10/23/96"
TSTRING018(INTEGER024, 3) = STRING014
FPutLn 1, TSTRING018(INTEGER024, 1)
FPutLn 1, TSTRING018(INTEGER024, 2)
FPutLn 1, TSTRING018(INTEGER024, 3)
TSTRING019(INTEGER024, 1) = "NotUsed"
TSTRING019(INTEGER024, 2) = "10-23-96"
TSTRING019(INTEGER024, 3) = STRING014
Next
FClose 1
:LABEL009
BOOLEAN002 = 0
BOOLEAN004 = 1
FOpen 1, PPEPath() + "HORSES.DAT", 0, 0
For INTEGER024 = 1 To 50
FGet 1, TSTRING018(INTEGER024, 1)
FGet 1, TSTRING018(INTEGER024, 2)
FGet 1, TSTRING018(INTEGER024, 3)
If (U_Name() == TSTRING018(INTEGER024, 1)) Then
If (TSTRING018(INTEGER024, 2) == Left(Date(), 8)) Then
PrintLn "@CLS@ @X0F"
PrintLn "Sorry, you may only play once per day."
PrintLn
End
Endif
BOOLEAN002 = 1
INTEGER037 = INTEGER024
MONEY001 = ToMoney(TSTRING018(INTEGER024, 3))
If (MONEY001 < 1) MONEY001 = 100000
Endif
If ((!BOOLEAN002 && BOOLEAN004) && (TSTRING018(INTEGER024, 1) == "NotUsed")) Then
BOOLEAN004 = 0
INTEGER037 = INTEGER024
Endif
If (ToMoney(TSTRING018(INTEGER024, 3)) > MONEY004) Then
INTEGER038 = INTEGER024
MONEY004 = TSTRING018(INTEGER024, 3)
STRING016 = Mixed(TSTRING018(INTEGER024, 1))
Endif
Next
FClose 1
If (INTEGER037 > INTEGER039) Then
PrintLn "@X0C"
STRING023 = "Sorry, maximum allowed users reached."
PrintLn Space((78 - Len(STRING023)) / 2) + STRING023
PrintLn
If (BOOLEAN001) Goto LABEL010
Delay 30
STRING023 = "Your SysOp must register this program in order for you to play."
PrintLn Space((78 - Len(STRING023)) / 2) + STRING023
Delay 30
Goto LABEL011
:LABEL010
STRING023 = "Please notify your SysOp!"
PrintLn Space((78 - Len(STRING023)) / 2) + STRING023
Log PPEName() + ".PPE: Maximum users reached.", 0
:LABEL011
PrintLn
Print Space(26)
Wait
Else
:LABEL012
Cls
Inc INTEGER028
:LABEL013
INTEGER031 = 0
INTEGER032 = 0
INTEGER033 = 0
PrintLn "@X0E┌─────────────────────────────────────────────────────────────────────────────┐"
PrintLn "@X0E│ @X0A @X0E @X05-@X04=@X0C≡@X0E[ @X0APractical Computer International Race Course @X0E]@X0C≡@X04=@X05- @X0A @X05 @X0E│"
PrintLn "@X0E├─[@X0BOdds@X0E]─┬─[@X0BTrack@X0E]┬────────────[@X0BRace Results@X0E]──────────┬─────[@X0BYour Bet@X0E]───────┤"
PrintLn "@X0E│ @X0A1.@X0E │ │ 1st * │ @X0AAmount $ @X0E│"
PrintLn "@X0E│ @X0A2.@X0E ├─[@X0BDist@X0E]─┤ @X072nd * @X0E│ @X0DHorse # @X0E│"
PrintLn "@X0E│ @X0A3.@X0E │ │ @X063rd * @X0E│ @X02Paid $ @X0E│"
PrintLn "@X0E│ @X0A4.@X0E ├─[@X0BRace@X0E]─┼────────────────────────────────────┼─[@X0BYour Cash On Hand@X0E]──┤"
PrintLn "@X0E│ @X0A5.@X0E │ # │ │ │"
PrintLn "@X0E└────────┴────────┴────────────────────────────────────┴──────────────────────┘"
If (MONEY004 == 0) Then
PrintLn " "
Else
STRING017 = "@X0FScore to beat is " + String(MONEY004) + " by " + STRING016
PrintLn Space((80 - Len(STRING017)) / 2), STRING017
Endif
PrintLn "@X0E┌─────────────────────────────────────────────────────────────────────────────┐"
PrintLn "@X0E│ Race # @X05-@X04=@X0C≡@X0E[ @X0AOFFICIAL PROGRAM @X0E]@X0C≡@X04=@X05- @X07@X0E1 Mile @X0E│"
PrintLn "@X0E├─────────────────────────────────────────────────────────────────────────────┤"
PrintLn "@X0E│ @X0A# @X0E│ @X03HORSE NAME @X0E│ @X09HORSE OWNER NAME @X0E│ @X0DLAST FINISH @X0E│ @X0AWINS │ @X03ODDs@X0E│"
PrintLn "@X0E│───│──────────────────────│───────────────────────│─────────────│──────│─────│"
PrintLn "@X0E│ @X0A1 @X0E│ │ │ │ │ │"
PrintLn "@X0E│ @X0A2 @X0E│ │ │ │ │ │"
PrintLn "@X0E│ @X0A3 @X0E│ │ │ │ │ │"
PrintLn "@X0E│ @X0A4 @X0E│ │ │ │ │ │"
PrintLn "@X0E│ @X0A5 @X0E│ │ │ │ │ │"
PrintLn "@X0E└─────────────────────────────────────────────────────────────────────────────┘"
PrintLn "@POFF@ "
AnsiPos 23, 8
PrintLn "@X0FWelcome to a day at the races!"
AnsiPos 8, 12
Print "@X06", INTEGER028, " of ", INTEGER036
Gosub LABEL016
:LABEL014
AnsiPos 1, 22
STRING011 = ""
InputStr "Enter your Horse number <1-5> (Q=Quit) ", STRING011, 15, 1, "12345AaQq", 0
If ((STRING011 == "Q") || (STRING011 == "q")) Goto LABEL026
If ((STRING011 == "A") || (STRING011 == "a")) Goto LABEL030
If ((STRING011 < "1") || (STRING011 > "5")) Goto LABEL014
AnsiPos 66, 5
PrintLn " @X0E(@X8E", STRING011, "@X0E)"
:LABEL015
AnsiPos 1, 22
PrintLn "@X0EPlease enter your Wager "
AnsiPos 25, 22
MONEY002 = 0
InputStr "", MONEY002, 14, 10, "1234567890", 0
If ((MONEY002 > MONEY001) || (MONEY002 == 0)) Then
Goto LABEL015
Endif
AnsiPos 1, 22
PrintLn " "
AnsiPos 65, 4
PrintLn "@X0A", MONEY002
Goto LABEL017
:LABEL016
Print "@X0E"
INTEGER021 = 1
For INTEGER025 = 16 To 20
AnsiPos 7, INTEGER025
PrintLn TSTRING008(INTEGER021)
Inc INTEGER021
Next
INTEGER021 = 1
For INTEGER025 = 16 To 20
AnsiPos 30, INTEGER025
PrintLn TSTRING009(INTEGER021)
Inc INTEGER021
Next
For INTEGER025 = 0 To 5
TINTEGER027(INTEGER025) = Random(5) + 1
If (TINTEGER027(INTEGER025) == "1") Then
TINTEGER027(INTEGER025) = Random(5) + 1
Endif
Next
INTEGER021 = 1
For INTEGER025 = 16 To 20
AnsiPos 75, INTEGER025
Print TINTEGER027(INTEGER021), ":1"
AnsiPos 6, INTEGER025 - 12
Print TINTEGER027(INTEGER021), ":1"
Inc INTEGER021
Next
AnsiPos 59, 8
Print MONEY001
INTEGER029 = Random(3)
Select Case (INTEGER029)
Case "0"
STRING006 = "@X04WET!@X00"
Case "1"
STRING006 = "@X0CSLOW!@X00"
Case "2"
STRING006 = "@X03DRY!@X00"
Case "3"
STRING006 = "@X0BFAST!@X0B"
End Select
AnsiPos 13, 4
PrintLn STRING006
AnsiPos 12, 6
PrintLn "@X0E1 Mile@X00"
AnsiPos 15, 8
Print "@X06", INTEGER028
INTEGER021 = 1
For INTEGER025 = 16 To 20
AnsiPos 54, INTEGER025
PrintLn "@X0D", TSTRING010(INTEGER021)
Inc INTEGER021
Next
For INTEGER025 = 1 To 5
TSTRING010(INTEGER025) = " -- "
Next
INTEGER021 = 1
For INTEGER025 = 16 To 20
AnsiPos 69, INTEGER025
PrintLn "@X0A", FmtReal(TREAL001(INTEGER021), 2, 0)
Inc INTEGER021
Next
Return
:LABEL017
AnsiPos 59, 8
Print "@X0E", ToMoney(MONEY001 - MONEY002), " "
AnsiPos 20, 8
PrintLn "@X0CThe gates are open, and they're off!@X00"
AnsiPos 0, 10
PrintLn "@X0BStart 1/4 1/2 3/4 Finish"
PrintLn "@X09▄▄▄▄@X09▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
PrintLn "@X09█ @X0F1 @X09█ @X0D█ @X0E█ @X09█"
PrintLn "@X09█───@X09█--@X0D█@X09----------------┼----------------┼----------------┼----------------@X0E█@X09--█"
PrintLn "@X09█ @X0F2 @X09█ @X0D█ @X0E█ @X09█"
PrintLn "@X09█───@X09█--@X0D█@X09----------------┼----------------┼----------------┼----------------@X0E█@X09--@X09█"
PrintLn "@X09█ @X0F3 @X09█ @X0D█ @X0E█ @X09█"
PrintLn "@X09█───@X09█--@X0D█@X09----------------┼----------------┼----------------┼----------------@X0E█@X09--█"
PrintLn "@X09█ @X0F4 @X09█ @X0D█ @X0E█ @X09█"
PrintLn "@X09█───@X09█--@X0D█@X09----------------┼----------------┼----------------┼----------------@X0E█@X09--█"
PrintLn "@X09█ @X0F5 @X09█ @X0D█ @X0E█ @X09█"
PrintLn "@X09▀▀▀▀@X09▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
Delay 8
INTEGER013 = 8
INTEGER014 = 9
INTEGER015 = 8
INTEGER016 = 9
INTEGER017 = 8
INTEGER018 = 9
INTEGER019 = 8
INTEGER020 = 9
INTEGER022 = 8
INTEGER023 = 9
INTEGER030 = 0
INTEGER035 = 0
:LABEL018
If (INTEGER035 == 3) Goto LABEL024
INTEGER026 = Random(4)
Select Case (INTEGER026)
Case "0"
Gosub LABEL019
Case "1"
Gosub LABEL020
Case "2"
Gosub LABEL021
Case "3"
Gosub LABEL022
Case "4"
Gosub LABEL023
End Select
Goto LABEL018
:LABEL019
If (((INTEGER031 == 1) || (INTEGER032 == 1)) || (INTEGER033 == 1)) Return
If (INTEGER014 == "76") Then
INTEGER030 = 1
INTEGER034 = 1
Gosub LABEL028
Endif
Delay 1
AnsiPos INTEGER014, 12
Print STRING012
AnsiPos INTEGER013, 12
Print " "
Inc INTEGER013
Inc INTEGER014
Return
:LABEL020
If (((INTEGER031 == 2) || (INTEGER032 == 2)) || (INTEGER033 == 2)) Return
If (INTEGER016 == "76") Then
INTEGER030 = 2
INTEGER034 = 2
Gosub LABEL028
Endif
Delay 1
AnsiPos INTEGER016, 14
Print STRING012
AnsiPos INTEGER015, 14
Print " "
Inc INTEGER015
Inc INTEGER016
Return
:LABEL021
If (((INTEGER031 == 3) || (INTEGER032 == 3)) || (INTEGER033 == 3)) Return
If (INTEGER018 == "76") Then
INTEGER030 = 3
INTEGER034 = 3
Gosub LABEL028
Endif
Delay 1
AnsiPos INTEGER018, 16
Print STRING012
AnsiPos INTEGER017, 16
Print " "
Inc INTEGER017
Inc INTEGER018
Return
:LABEL022
If (((INTEGER031 == 4) || (INTEGER032 == 4)) || (INTEGER033 == 4)) Return
If (INTEGER020 == "76") Then
INTEGER030 = 4
INTEGER034 = 4
Gosub LABEL028
Endif
Delay 1
AnsiPos INTEGER020, 18
Print STRING012
AnsiPos INTEGER019, 18
Print " "
Inc INTEGER019
Inc INTEGER020
Return
:LABEL023
If (((INTEGER031 == 5) || (INTEGER032 == 5)) || (INTEGER033 == 5)) Return
If (INTEGER023 == "76") Then
INTEGER030 = 5
INTEGER034 = 5
Gosub LABEL028
Endif
Delay 1
AnsiPos INTEGER023, 20
Print STRING012
AnsiPos INTEGER022, 20
Print " "
Inc INTEGER022
Inc INTEGER023
Return
:LABEL024
AnsiPos 20, 8
PrintLn " "
AnsiPos 27, 4
PrintLn "@X0E", TSTRING008(INTEGER031)
AnsiPos 27, 5
PrintLn "@X07", TSTRING008(INTEGER032)
AnsiPos 27, 6
PrintLn "@X06", TSTRING008(INTEGER033)
AnsiPos 65, 6
MONEY003 = TINTEGER027(INTEGER031) * MONEY002
PrintLn "@X0E", MONEY003
AnsiPos 21, 8
Print "@X0F"
MONEY001 = MONEY001 - MONEY002
If (INTEGER031 == STRING011) Then
MONEY001 = MONEY001 + MONEY003
Print "You Won ", MONEY003
Else
Print "Sorry, you lost ", MONEY002
Endif
AnsiPos 59, 8
PrintLn "@X0E", MONEY001, " "
Inc TREAL001(INTEGER031)
TSTRING010(INTEGER031) = " First"
TSTRING010(INTEGER032) = " Second"
TSTRING010(INTEGER033) = " Third"
If (INTEGER028 == INTEGER036) Then
AnsiPos 27, 15
PrintLn "@X0E┌────────────────────────────┐"
AnsiPos 27, 16
PrintLn "│@X0A Sorry, you're out of turns @X0E│"
AnsiPos 27, 17
PrintLn "@X0E└────────────────────────────┘"
Delay 20
ElseIf (MinLeft() < 5) Then
AnsiPos 28, 15
PrintLn "@X0E┌───────────────────────────┐"
AnsiPos 28, 16
PrintLn "│@X0A Sorry, you're out of time @X0E│"
AnsiPos 28, 17
PrintLn "@X0E└───────────────────────────┘"
Delay 20
ElseIf (MONEY001 > 0) Then
:LABEL025
AnsiPos 27, 15
PrintLn "@X0E┌─────────────────────────────┐"
AnsiPos 27, 16
PrintLn "│@X0AWould you like to play again?@X09@X0E│"
AnsiPos 27, 17
PrintLn "@X0E└─────────────────────────────┘"
AnsiPos 40, 18
STRING013 = ""
InputStr "Y / N ", STRING013, 14, 1, "YNyn", 0
If ((STRING013 == "Y") || (STRING013 == "y")) Goto LABEL012
If ((STRING013 <> "N") && (STRING013 <> "n")) Goto LABEL025
Else
AnsiPos 27, 15
PrintLn "@X0E┌──────────────────────────────┐"
AnsiPos 27, 16
PrintLn "│@X0ASorry, you lost all your money@X0E│"
AnsiPos 27, 17
PrintLn "@X0E└──────────────────────────────┘"
Delay 20
Endif
:LABEL026
FCreate 1, PPEPath() + "HORSES.DAT", 1, 3
For INTEGER024 = 1 To 51
If (INTEGER037 == INTEGER024) Then
TSTRING018(INTEGER037, 1) = U_Name()
TSTRING018(INTEGER037, 2) = Date()
TSTRING018(INTEGER037, 3) = MONEY001
Endif
FPutLn 1, TSTRING018(INTEGER024, 1)
FPutLn 1, TSTRING018(INTEGER024, 2)
FPutLn 1, TSTRING018(INTEGER024, 3)
Next
FClose 1
For INTEGER024 = 1 To 50
TSTRING019(INTEGER024, 1) = TSTRING018(INTEGER024, 1)
TSTRING019(INTEGER024, 2) = TSTRING018(INTEGER024, 2)
TSTRING019(INTEGER024, 3) = TSTRING018(INTEGER024, 3)
Next
Print "@CLS@@X0D"
AnsiPos 30, 12
Print "Sorting."
:LABEL027
BOOLEAN003 = 1
For INTEGER024 = 1 To 99
STRING014 = INTEGER024 + 1
If ((TSTRING019(STRING014, 1) <> "NotUsed") && (ToMoney(TSTRING019(STRING014, 3)) > ToMoney(TSTRING019(INTEGER024, 3)))) Then
BOOLEAN003 = 0
STRING020 = TSTRING019(INTEGER024, 1)
STRING021 = TSTRING019(INTEGER024, 2)
STRING022 = TSTRING019(INTEGER024, 3)
TSTRING019(INTEGER024, 1) = TSTRING019(STRING014, 1)
TSTRING019(INTEGER024, 2) = TSTRING019(STRING014, 2)
TSTRING019(INTEGER024, 3) = TSTRING019(STRING014, 3)
TSTRING019(STRING014, 1) = STRING020
TSTRING019(STRING014, 2) = STRING021
TSTRING019(STRING014, 3) = STRING022
Endif
Next
Print "."
If (!BOOLEAN003) Goto LABEL027
Print "@CLS@ @X0F"
STRING023 = "Horses High Scores To Date"
PrintLn Space((74 - Len(STRING023)) / 2) + STRING023
STRING023 = "══════════════════════════"
Print "@X0C"
PrintLn Space((76 - Len(STRING023)) / 2) + STRING023
PrintLn "@X0E"
PrintLn Space(16), " Name Date Score"
PrintLn "@X0A"
For INTEGER024 = 1 To 15
If ((TSTRING019(INTEGER024, 1) <> "NotUsed") && (TSTRING019(INTEGER024, 3) > "$1.00")) Then
Print "@X0A"
If (TSTRING019(INTEGER024, 1) == U_Name()) Print "@X0B"
If (INTEGER024 == 1) Print "@X0F"
Print Space(16), Mixed(TSTRING019(INTEGER024, 1)), "@POS:42@", TSTRING019(INTEGER024, 2), " "
PrintLn Right(Space(9) + TSTRING019(INTEGER024, 3), 10)
Endif
Next
PrintLn
Print Space(25)
KeyFlush
Wait
If (Exist(PPEPath() + "HORSES.BAT")) Then
FCreate 1, PPEPath() + "HORSES.SCO", 1, 3
FPutLn 1, ""
FPut 1, "@X0F"
STRING023 = "Horses High Scores To Date"
FPutLn 1, Space((74 - Len(STRING023)) / 2) + STRING023
STRING023 = "══════════════════════════"
FPut 1, "@X0C"
FPutLn 1, Space((75 - Len(STRING023)) / 2) + STRING023
FPutLn 1, "@X0E"
FPutLn 1, Space(16), " Name Date Score"
FPutLn 1, "@X0A"
For INTEGER024 = 1 To 15
If ((TSTRING019(INTEGER024, 1) <> "NotUsed") && (TSTRING019(INTEGER024, 3) > "$1.00")) Then
FPut 1, "@X0A"
If (TSTRING019(INTEGER024, 1) == U_Name()) FPut 1, "@X0B"
If (INTEGER024 == 1) FPut 1, "@X0F"
FPut 1, Space(16), Mixed(TSTRING019(INTEGER024, 1)), "@POS:42@", TSTRING019(INTEGER024, 2), " "
FPutLn 1, Right(Space(9) + TSTRING019(INTEGER024, 3), 10)
Endif
Next
FClose 1
Shell 1, INTEGER024, PPEPath() + "HORSES.BAT", ""
Endif
PrintLn
Print Space(25)
KeyFlush
Cls
Endif
If (!BOOLEAN001) Delay 30
If ((STRING015 == "LOGCALL") || (STRING015 == "LOGBOTH")) Then
Log "Exited " + PPEName() + ".PPE at " + Left(Time(), 5), 0
Endif
End
:LABEL028
If (INTEGER031 == 0) Then
INTEGER031 = INTEGER034
Inc INTEGER035
Return
Endif
If (INTEGER032 == 0) Then
INTEGER032 = INTEGER034
Inc INTEGER035
Return
Endif
If (INTEGER033 == 0) Then
INTEGER033 = INTEGER034
Inc INTEGER035
Return
Endif
Return
:LABEL029
StartDisp 1
Cls
PrintLn " "
PrintLn " @X07┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐"
PrintLn " ├┼┼@X0F┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┘@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70┌───────────────────────────────────────────────────────@X7F┐@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ @X71 @X7F│@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ ┌─────────────────────────────────────────────@X7F┐ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X71PRACTICAL COMPUTER SERVICES@X70 @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X74 @X70 @X74 @X71PRESENTS@X70 @X7F│ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ │ @X7F │ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70│ └@X7F─────────────────────────────────────────────┘ │@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┼┼@X77┼@X70└@X7F───────────────────────────────────────────────────────┘@X77┼@X08┼┼@X07┼┼┤"
PrintLn " ├┼┼@X0F┘@X08┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼@X07┼┼┤"
PrintLn " └┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘"
PrintLn ""
PrintLn " @X0D▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X0F"
PrintLn " @X0E", STRING004, " ", STRING005, "@POS:48@@X0B(c)1996 All Rights Reserved@X0F"
PrintLn " @X0D▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X0F"
If (BOOLEAN001) Then
AnsiPos 10, 21
PrintLn "@X0B REGISTERED TO: @X0A", STRING002, "@X0B at @X0A", STRING003, "@X0F"
Newline
Delay 25
Return
Endif
If (BOOLEAN001) Goto LABEL030
AnsiPos 10, 21
PrintLn " @X8CUNREGISTERED EVALUATION COPY@X08"
Newline
INTEGER001 = 1
Color 15
For INTEGER001 = 10 To 1 Step -1
Print " DELAYING ", INTEGER001, " SECOND(S)..."
Delay 19
Backup 80
Next
Return
:LABEL030
Cls
Newlines 4
PrintLn "@POS:23@@X10┌────────────────────────────────@X19┐@X0F"
PrintLn "@POS:23@@X10│ @X1E @X10 @X1EHorse Race v1.4@X1F @X1E @X1F @X19│@X0F"
PrintLn "@POS:23@@X10└@X19────────────────────────────────┘@X0F"
PrintLn "@POS:23@@X10┌────────────────────────────────@X19┐@X0F"
PrintLn "@POS:23@@X10│ @X1FCopyright (c) 1996@X1A @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1C────────────────────────────── @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1BPractical Computer Services @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1B @X10 @X1B483 Klockner Road@X10 @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1BHamilton, NJ 08619@X13 @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1B @X10 @X1B(609) 584-7947@X13 @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1E @X12 @X19│@X0F"
PrintLn "@POS:23@@X10└@X19────────────────────────────────┘@X0F"
Delay (5 * 182) / 10
Cls
Goto LABEL013
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 5 End
; 5 Cls
; 2 Wait
; 1 Color
; 129 Goto
; 176 Let
; 33 Print
; 124 PrintLn
; 92 If
; 3 FCreate
; 6 FOpen
; 1 FAppend
; 10 FClose
; 8 FGet
; 6 FPut
; 15 FPutLn
; 1 StartDisp
; 1 GetUser
; 1 DefColor
; 4 Log
; 3 InputStr
; 15 Gosub
; 17 Return
; 15 Delay
; 20 Inc
; 2 Newline
; 1 Newlines
; 2 GetToken
; 1 Shell
; 54 AnsiPos
; 1 Backup
; 2 FDefIn
; 2 FDGet
; 3 KeyFlush
;
;
; ■ Functions used :
;
; 3 -
; 4 *
; 9 /
; 70 +
; 11 -
; 59 ==
; 7 <>
; 27 <
; 23 <=
; 8 >
; 46 >=
; 76 !
; 52 &&
; 42 ||
; 12 Len(
; 1 Upper()
; 5 Mid()
; 4 Left()
; 2 Right()
; 17 Space()
; 2 Asc()
; 1 RTrim()
; 4 Random()
; 3 Date()
; 3 Time()
; 5 U_Name()
; 2 Strip()
; 1 String()
; 16 PPEPath()
; 2 MinLeft()
; 5 Exist()
; 1 AnsiOn()
; 8 PPEName()
; 5 ToMoney()
; 3 Mixed()
; 1 FmtReal()
;
;------------------------------------------------------------------------------
;
; Analysis flags : S
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 23 For/Next
; 0 While/EndWhile
; 33 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------